/*
 * Symphony - A modern community (forum/SNS/blog) platform written in Java.
 * Copyright (C) 2012-2017,  b3log.org & hacpai.com
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
/**
 * Base style.
 *
 * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
 * @author <a href="http://88250.b3log.org">Liang Ding</a>
 * @version 2.28.20.55, Feb 4, 2017
 */

@import "variables";

/* start reset */
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: $font-family-base;
    font-size: 14px;
    color: #333;
}

::-moz-selection {
    text-shadow: none;
    background: rgba(65,131,196,0.4);
}

::selection {
    text-shadow: none;
    background: rgba(66, 133, 244,0.4)
}

ul,
ol {
    margin:0;
    padding:0;
}

h1,
h2,
h3,
h4,
h5,
h6,
dl,
dd,
p {
    margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}

audio,
canvas,
video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
}

a {
    outline: 0;
    text-decoration: none;
    color: $blue;
}

a:hover {
    text-decoration: underline;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    max-width: 100%;
    vertical-align: middle;
    border: 0;
    height: auto;
    -ms-interpolation-mode: bicubic;
}

button,
input,
select,
textarea {
    margin: 0;
    font-size: 100%;
    vertical-align: middle;
    font-family: $font-family-base;
    outline: none;
}

button,
input {
    line-height: normal;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    padding: 0;
    border: 0;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}

input[type="search"] {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

textarea {
    overflow: auto;
    resize: vertical;
}

svg {
    vertical-align: text-top;
    fill: currentColor;
}

blockquote {
    margin: 0;
}

@-webkit-keyframes spaceboots {
    0%{-webkit-transform:translate(0px,0);-moz-transform:translate(0px,0);-o-transform:translate(0px,0);-ms-transform:translate(0px,0);transform:translate(0px,0)}
    30%{-webkit-transform:translate(0px,1px);-moz-transform:translate(0px,1px);-o-transform:translate(0px,1px);-ms-transform:translate(0px,1px);transform:translate(0px,1px)}
    45%{-webkit-transform:translate(0px,0px);-moz-transform:translate(0px,0px);-o-transform:translate(0px,0px);-ms-transform:translate(0px,0px);transform:translate(0px,0px)}
    60%{-webkit-transform:translate(0px,-1px);-moz-transform:translate(0px,-1px);-o-transform:translate(0px,-1px);-ms-transform:translate(0px,-1px);transform:translate(0px,-1px)}
    80%{-webkit-transform:translate(0px,0px);-moz-transform:translate(0px,0px);-o-transform:translate(0px,0px);-ms-transform:translate(0px,0px);transform:translate(0px,0px)}
}


@-o-keyframes spaceboots{
    0%{-webkit-transform:translate(0px,0);-moz-transform:translate(0px,0);-o-transform:translate(0px,0);-ms-transform:translate(0px,0);transform:translate(0px,0)}
    30%{-webkit-transform:translate(0px,1px);-moz-transform:translate(0px,1px);-o-transform:translate(0px,1px);-ms-transform:translate(0px,1px);transform:translate(0px,1px)}
    45%{-webkit-transform:translate(0px,0px);-moz-transform:translate(0px,0px);-o-transform:translate(0px,0px);-ms-transform:translate(0px,0px);transform:translate(0px,0px)}
    60%{-webkit-transform:translate(0px,-1px);-moz-transform:translate(0px,-1px);-o-transform:translate(0px,-1px);-ms-transform:translate(0px,-1px);transform:translate(0px,-1px)}
    80%{-webkit-transform:translate(0px,0px);-moz-transform:translate(0px,0px);-o-transform:translate(0px,0px);-ms-transform:translate(0px,0px);transform:translate(0px,0px)}
}

@-ms-keyframes spaceboots{
    0%{-webkit-transform:translate(0px,0);-moz-transform:translate(0px,0);-o-transform:translate(0px,0);-ms-transform:translate(0px,0);transform:translate(0px,0)}
    30%{-webkit-transform:translate(0px,1px);-moz-transform:translate(0px,1px);-o-transform:translate(0px,1px);-ms-transform:translate(0px,1px);transform:translate(0px,1px)}
    45%{-webkit-transform:translate(0px,0px);-moz-transform:translate(0px,0px);-o-transform:translate(0px,0px);-ms-transform:translate(0px,0px);transform:translate(0px,0px)}
    60%{-webkit-transform:translate(0px,-1px);-moz-transform:translate(0px,-1px);-o-transform:translate(0px,-1px);-ms-transform:translate(0px,-1px);transform:translate(0px,-1px)}
    80%{-webkit-transform:translate(0px,0px);-moz-transform:translate(0px,0px);-o-transform:translate(0px,0px);-ms-transform:translate(0px,0px);transform:translate(0px,0px)}
}

@keyframes spaceboots{
    0%{-webkit-transform:translate(0px,0);-moz-transform:translate(0px,0);-o-transform:translate(0px,0);-ms-transform:translate(0px,0);transform:translate(0px,0)}
    30%{-webkit-transform:translate(0px,1px);-moz-transform:translate(0px,1px);-o-transform:translate(0px,1px);-ms-transform:translate(0px,1px);transform:translate(0px,1px)}
    45%{-webkit-transform:translate(0px,0px);-moz-transform:translate(0px,0px);-o-transform:translate(0px,0px);-ms-transform:translate(0px,0px);transform:translate(0px,0px)}
    60%{-webkit-transform:translate(0px,-1px);-moz-transform:translate(0px,-1px);-o-transform:translate(0px,-1px);-ms-transform:translate(0px,-1px);transform:translate(0px,-1px)}
    80%{-webkit-transform:translate(0px,0px);-moz-transform:translate(0px,0px);-o-transform:translate(0px,0px);-ms-transform:translate(0px,0px);transform:translate(0px,0px)}
}

.content-reset {
    font-family: $font-family-base;
    word-wrap: break-word;
    overflow: auto;
    line-height: 1.5;
    font-size: 16px;
    word-break: break-all;

    ul,
    ol {
        padding-left: 2em;
        margin-top: 0;
        margin-bottom: 16px;
    }

    li {
        margin-top: 0.25em;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-top: 24px;
        margin-bottom: 16px;
        font-weight: 600;
        line-height: 1.25;
    }

    h1 {
        padding-bottom: 0.3em;
        font-size: 2em;
        border-bottom: 1px solid #eee;
    }

    h2 {
        padding-bottom: 0.3em;
        font-size: 1.5em;
        border-bottom: 1px solid #eee;
    }

    h3 {
        font-size: 1.25em;
    }

    h4 {
        font-size: 1em
    }

    h5 {
        font-size: 0.875em;
    }

    h6 {
        font-size: 0.85em;
    }


    hr {
        height: 0.25em;
        padding: 0;
        margin: 24px 0;
        background-color: #e7e7e7;
        border: 0;
    }

    p {
        margin-top: 0;
        margin-bottom: 16px;
    }

    blockquote {
        padding: 0 1em;
        color: #777;
        border-left: 0.25em solid #ddd;
        margin-bottom: 16px;
    }

    blockquote p {
        margin: 0;
    }

    iframe {
        border: 1px solid $fade;
    }

    table {
        width: 100%;
        border: 1px solid #dedede;
        margin: 15px auto;
        border-collapse: collapse;
        empty-cells: show;
    }

    thead {
        text-align: center;
    }

    td,
    th {
        height: 35px;
        border: 1px solid #dedede;
        padding: 0 10px;
    }

    th {
        font-weight: bold;
        text-align: center !important;
        background: rgba(158,188,226,0.2);
    }

    tbody tr:nth-child(2n) {
        background: rgba(158,188,226,0.12);
    }

    tr:hover {
        background: #efefef;
    }

    code {
        padding: 0.2em 0.4em;
        margin: 0;
        font-size: 85%;
        background-color: rgba(252, 41, 41, 0.12);
        border-radius: 3px;
        color: $red;
        font-family: $font-family-code;
    }

    pre > code {
        padding: 0.5em;
        border-radius: 0;
        color: #333;
        background-color: rgba(0,0,0,0.04);
        background-image: url(../images/code-bg.png);
        background-size: 20px 20px;
        border-radius: 5px;
    }

    kbd {
        display: inline-block;
        padding: 3px 5px;
        font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
        line-height: 10px;
        color: #555;
        vertical-align: middle;
        background-color: #fcfcfc;
        border: solid 1px $fade;
        border-bottom-color: #bbb;
        border-radius: 3px;
        box-shadow: inset 0 -1px 0 #bbb;
    }
}
/* end reset */

/* start function */
.fn-flex {
    display: flex;
}

.fn-flex-1 {
    flex: 1;
    min-width: 1px;
}

.fn-pointer {
    cursor: pointer;
}

.fn-sub {
    vertical-align: sub;
}

.fn-clear:before,
.fn-clear:after {
    display: table;
    content: "";
}

.fn-clear:after {
    clear: both;
}

.fn-left {
    float: left;
}

.fn-right {
    float: right;
}

.fn-none {
    display: none;
}

.fn-hidden {
    visibility: hidden;
}

.fn-oh {
    overflow: hidden;
}

.fn-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
}

.fn-hr5 {
    display: block;
    height: 5px;
}

.fn-m10 {
    margin: 0 10px;
}

.fn-inline {
    display: inline-block;
}

.ft-13 {
    font-size: 13px;
}

.ft-smaller {
    font-size: 12px;
}

.ft-gray {
    color: $gray;
}

.ft-fade {
    color: $fade;
}

.ft-red {
    color: $red;
}

.ft-blue {
    color: $blue;
}

.ft-green {
    color: $green;
}

.ft-a-title {
    color: #666;
    text-decoration: none;
}

.ft-a-title:hover {
    color: #333;
}

.ft-center {
    text-align: center;
}

.count {
    text-decoration: none;
    padding: 2px 5px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: #666;
    background-color: #eee;
    border-radius: 20px;
    display: inline-block;
}

.count:hover {
    text-decoration: none;
}

.sub-head {
    padding: 0 15px 15px;
    border-bottom: 1px solid #e5e5e5;
    line-height: 31px;
    /* margin: 15px; */
    font-size: 24px;
    color: #666;
}
/* end function */

/* start common business */
.article-list .cb-stick {
    position: absolute;
    top: 0;
    left: 0;
    border-width: 10px 15px 10px 15px;
    border-color: #999 transparent transparent #999;
    border-style: solid;

    .icon-pin {
        position: absolute;
        top: -9px;
        left: -14px;
        color: #FFF;
    }
}
/* end common business */

/* start common */
.timeline a {
    color: #666;
}

.timeline a:hover {
    color: #333;
}

.tag {
    font-size: 12px;
    color: $fade;
    white-space: nowrap;
    display: inline-block;
    line-height: 16px;
}

.tooltipped {
    position: relative;
    cursor: pointer;
}

.tooltipped::after {
    position: absolute;
    z-index: 1000000;
    display: none;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: normal;
    -webkit-font-smoothing: subpixel-antialiased;
    color: #fff;
    text-align: center;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: break-word;
    white-space: pre;
    pointer-events: none;
    content: attr(aria-label);
    background: rgba(0,0,0,0.8);
    border-radius: 3px;
    line-height: 16px;
    opacity: 0
}

.tooltipped::before {
    position: absolute;
    z-index: 1000001;
    display: none;
    width: 0;
    height: 0;
    color: rgba(0,0,0,0.8);
    pointer-events: none;
    content: "";
    border: 5px solid transparent;
    opacity: 0
}

@-webkit-keyframes tooltip-appear {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes tooltip-appear {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.tooltipped-hover::before,
.tooltipped-hover::after,
.tooltipped:hover::before,
.tooltipped:hover::after,
.tooltipped:active::before,
.tooltipped:active::after,
.tooltipped:focus::before,
.tooltipped:focus::after {
    display: inline-block;
    text-decoration: none;
    -webkit-animation-name: tooltip-appear;
    animation-name: tooltip-appear;
    -webkit-animation-duration: 0.1s;
    animation-duration: 0.1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s
}

.tooltipped-s::after,.tooltipped-se::after,.tooltipped-sw::after {
    top: 100%;
    right: 50%;
    margin-top: 5px
}

.tooltipped-s::before,.tooltipped-se::before,.tooltipped-sw::before {
    top: auto;
    right: 50%;
    bottom: -5px;
    margin-right: -5px;
    border-bottom-color: rgba(0,0,0,0.8)
}

.tooltipped-se::after {
    right: auto;
    left: 50%;
    margin-left: -15px
}

.tooltipped-sw::after {
    margin-right: -15px
}

.tooltipped-n::after,.tooltipped-ne::after,.tooltipped-nw::after {
    right: 50%;
    bottom: 100%;
    margin-bottom: 5px
}

.tooltipped-n::before,.tooltipped-ne::before,.tooltipped-nw::before {
    top: -5px;
    right: 50%;
    bottom: auto;
    margin-right: -5px;
    border-top-color: rgba(0,0,0,0.8)
}

.tooltipped-ne::after {
    right: auto;
    left: 50%;
    margin-left: -15px
}

.tooltipped-nw::after {
    margin-right: -15px
}

.tooltipped-s::after,.tooltipped-n::after {
    -webkit-transform: translateX(50%);
    transform: translateX(50%)
}

.tooltipped-w::after {
    right: 100%;
    bottom: 50%;
    margin-right: 5px;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
}

.tooltipped-w::before {
    top: 50%;
    bottom: 50%;
    left: -5px;
    margin-top: -5px;
    border-left-color: rgba(0,0,0,0.8);
}

.tooltipped-e::after {
    bottom: 50%;
    left: 100%;
    margin-left: 5px;
    -webkit-transform: translateY(50%);
    transform: translateY(50%)
}

.tooltipped-e::before {
    top: 50%;
    right: -5px;
    bottom: 50%;
    margin-top: -5px;
    border-right-color: rgba(0,0,0,0.8)
}

/* start button */
button,
.btn {
    cursor: pointer;
    color: #333;
    border-radius: 3px;
    padding: 6px 12px;
    background-color: #f2f2f2;
    border: 1px solid #D5D5D5;
    border-bottom-color: #E1E1E1;
    box-sizing: border-box;
    line-height: 19px;
    white-space: nowrap;
}


button:hover,
.btn:hover {
    text-decoration: none;
    border-color: $fade;
    background-color: #eee;
}

button:active,
.btn:active {
    background-color: $fade;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) inset;
}

button.green,
.btn.green {
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0,0,0,0.15);
    background-color: #60b044;
    border-color: #5ca941;
}

button.green:hover,
.btn.green:hover{
    background-color: $green;
}

button.green:active {
    background-color: $green;
    border-color: #418737;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25) inset;
}

button.red,
.btn.red {
    color: $red;
}

button.red:hover,
.btn.red:hover,
.btn.red-hover {
    color: #FFF;
    background-color: $red;
    border-color: #c0372a;
}

button.red:active,
.btn.red:active {
    background-color: $red;
    border-color: #c9320c;
    color: #FFF;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25) inset;
}

button.small,
.btn.small {
    padding: 0 5px;
    font-size: 12px;
    font-weight: normal;
    display: inline-block;
    line-height: 19px;
    height: 20px;
    text-shadow: initial;
}

button.mid,
.btn.mid {
    padding: 3px 8px;
    font-size: 13px;
    line-height: 20px;
    height: 28px;
}
/* end button */

/* start icon */
a[class^="icon-"],
a[class*=" icon-"] {
    color: #333;
}

a[class^="icon-"]:hover,
a[class*=" icon-"]:hover {
    text-decoration: none;
    color: $blue;
}

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?68j667');
  src:  url('fonts/icomoon.eot?68j667#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?68j667') format('truetype'),
    url('fonts/icomoon.woff?68j667') format('woff'),
    url('fonts/icomoon.svg?68j667#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-view:before {
  content: "\e901";
}
.icon-star:before {
  content: "\f006";
}
.icon-heart:before {
  content: "\f08b";
}
.icon-thumbs-up:before {
  content: "\f089";
}
.icon-thumbs-down:before {
  content: "\f08a";
}
.icon-chevron-down:before {
  content: "\f0db";
}
.icon-chevron-up:before {
  content: "\f0dc";
}
.icon-chevron-left:before {
  content: "\f0dd";
}
.icon-chevron-right:before {
  content: "\f0de";
}
.icon-history:before {
  content: "\f1db";
}
.icon-weibo:before {
  content: "\e908";
}
.icon-twitter:before {
  content: "\e90c";
}
.icon-up:before {
  content: "\e90a";
}
.icon-down:before {
  content: "\e90b";
}
.icon-points:before {
  content: "\e900";
}
.icon-goods:before {
  content: "\e904";
}
.icon-bold:before {
  content: "\e000";
}
.icon-italic:before {
  content: "\e001";
}
.icon-quote:before {
  content: "\e003";
}
.icon-unordered-list:before {
  content: "\e004";
}
.icon-ordered-list:before {
  content: "\e005";
}
.icon-link:before {
  content: "\e006";
}
.icon-image:before {
  content: "\e007";
}
.icon-play:before {
  content: "\e008";
}
.icon-music:before {
  content: "\e009";
}
.icon-contract:before {
  content: "\e00a";
}
.icon-fullscreen:before {
  content: "\e00b";
}
.icon-question:before {
  content: "\e00c";
}
.icon-info:before {
  content: "\e00d";
}
.icon-undo:before {
  content: "\e00e";
}
.icon-redo:before {
  content: "\e00f";
}
.icon-code:before {
  content: "\e011";
}
.icon-navigation:before {
  content: "\e903";
}
.icon-video:before {
  content: "\f057";
}
.icon-feed:before {
  content: "\e61f";
}
.icon-article:before {
  content: "\e61d";
}
.icon-register:before {
  content: "\e602";
}
.icon-logout:before {
  content: "\e603";
}
.icon-setting:before {
  content: "\e604";
}
.icon-search:before {
  content: "\e606";
}
.icon-date:before {
  content: "\e608";
}
.icon-cmts:before {
  content: "\e60a";
}
.icon-refresh:before {
  content: "\e60b";
}
.icon-go-top:before {
  content: "\e60c";
}
.icon-edit:before {
  content: "\e60e";
}
.icon-tag:before {
  content: "\e610";
}
.icon-tags:before {
  content: "\e611";
}
.icon-addfile:before {
  content: "\e612";
}
.icon-login:before {
  content: "\e613";
}
.icon-articles:before {
  content: "\e614";
}
.icon-userrole:before {
  content: "\e615";
}
.icon-email:before {
  content: "\e616";
}
.icon-flag:before {
  content: "\e617";
}
.icon-reply-to:before {
  content: "\e620";
}
.icon-reply:before {
  content: "\e61a";
}
.icon-clock:before {
  content: "\e61b";
}
.icon-compass:before {
  content: "\e61c";
}
.icon-pin:before {
  content: "\e90e";
}
.icon-upload:before {
  content: "\f0ee";
}
.icon-time:before {
  content: "\e906";
}
.icon-sortasc:before {
  content: "\e905";
}
.icon-locked:before {
  content: "\e61e";
}
.icon-google:before {
  content: "\e90d";
}
.icon-wechat:before {
  content: "\e907";
}
.icon-close:before {
  content: "\e909";
}

.icon-search {
    color: $gray;
    left: 86px;
    position: absolute;
    top: 7px;
    z-index: 2;
    cursor: pointer;
}

.go-top {
    background-color: #f9fafb;
    border-radius: 28px;
    bottom: 15px;
    color: $gray;
    cursor: pointer;
    display: none;
    height: 56px;
    font-size: 20px;
    text-align: center;
    position: fixed;
    width: 56px;
    z-index: 50;
    right: 15px;
    box-shadow: 0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);
    padding-top: 15px;
    box-sizing: border-box;
}

.go-top:hover {
    background-color: rgba(0,0,0,.06);
}
/* end icon */

/* start tip */
.tip.error {
    color: $red;
    background-color: #fcdede;
    border: 1px solid #d2b2b2;
}

.tip ul {
    margin: 5px 30px;
    text-align: left;
}

.tip.succ {
    background-color: #D4F6FA;
    border: 1px solid #1D2B3D;
    color: #1D2B3D;
}

#registerTip,
#loginTip,
#addArticleTip,
#profilesTip,
#syncb3Tip,
#passwordTip {
    white-space: normal;
    word-wrap: break-word;
}
/* end tip */

/* start avatar */
.avatar,
.avatar-small,
.avatar-mid,
.avatar-big {
    border-radius: 3px 3px 3px 3px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: inline-block;
    vertical-align: middle;
}

.avatar {
    height: 38px;
    width: 38px;
    margin-right: 10px;
}

.avatar-small {
    height: 20px;
    width: 20px;
}

.avatar-big {
    border: 1px solid #EEEEEE;
    height: 210px;
    width: 210px;
    border-radius: 6px;
}
/* end avatar */

/* start status */
.status {
    border-top: 1px dotted $fade;
    list-style: none;
    margin-top: 20px;
    padding: 20px 0;
}

.status > li {
    overflow: hidden;
    flex: 1;
    -webkit-box-flex: 1;
    text-align: center;
}

.status > li > strong {
    font-size: 20px;
}

.status > li > span {
    display: block;
}
/* end status */

/* start editor */
.grammar dd {
    font-size: 12px;
    color: $gray;
}

.grammar dl {
    margin: 8px 10px;
}
/* end editor */
/* end common */

/* start form */
.form {
    position: relative;
}

.form table {
    width: 100%;
}

.form input[type=text],
.form input[type=datetime],
.form input[type=datetime-local],
.form input[type=password],
.form input[type=number],
.form select,
.form textarea {
    border: 1px solid $fade;
    background-color: #FAFAFA;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset;
    padding: 7px 8px;
    width: 100%;
    line-height: 17px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.form input[type=text]:focus,
.form input[type=password]:focus,
.form textarea:focus {
    background-color: #FFF;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset, 0 0 5px rgba(81, 167, 232, 0.5);
    border: 1px solid #51A7E8;
}

.form label {
    color: #666;
    font-size: 15px;
    margin: 12px 0 6px;
    float: left;
}

.form label > a {
    font-weight: normal;
}

.form label input[type=checkbox],
.form label input[type=radio] {
    vertical-align: middle;
}

.form input[type=file] {
    width: 1px;
    opacity: 0.001;
}

.form select {
    height: 33px;
    padding-top: 5px;
}
/* end form */

/* start pagination & tabs-sub */
.pagination {
    border-top: 1px solid #eee;
}

.pagination,
.tabs-sub {
    display: flex;
    font-size: 12px;
    background-color: #fff;
    overflow: hidden;
    border-radius: 0 0 3px 3px;
}

.tabs-sub {
    border-bottom: 1px solid #eee;
    border-radius: 3px 3px 0 0;
}

.pagination a,
.pagination span,
.tabs-sub a {
    line-height: 48px;
    text-decoration: none;
    flex: 1;
    text-align: center;
    color: #616161;
    padding: 0 5px;
    background-color: #f9fafb;
}

.pagination a:hover,
.tabs-sub a:hover {
    background-color: rgba(0,0,0,.06);
}

.pagination span.current,
.tabs-sub a.current {
    background-color: #616161;
    color: #fff;
}
/* end pagination & tabs-sub */

/* start completed */
.completed-panel {
    padding: 0;
    overflow: auto;
    left: 0;
    display: none;
    position: absolute;
    background-color: #FFF;
    border: 1px solid #e5e5e5;
    z-index: 82;
    border-radius: 0 0 3px 3px;
    width: 50%;
    top: 35px;
    box-sizing: border-box;
}

.completed-panel a {
    display: block;
    padding: 3px;
    text-decoration: none;
    line-height: 18px;
    height: 18px;
}

.completed-panel a.selected,
.completed-panel a:hover {
    background-color: #F7F7F7;
}
/* end completed */

/* start dialog */
.dialog-background {
    background-color: #000000;
    display: none;
    height: 100%;
    left: 0;
    opacity: .5;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 200;
}

.dialog-panel {
    display: none;
    position: fixed;
    z-index: 201;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,0.25);
    border-radius: 5px;
    box-shadow: 0 0 18px rgba(0,0,0,0.4);
}

.dialog-header-bg {
    padding: 10px;
    font-size: 18px;
    font-weight: normal;
    border-bottom: 1px solid #e5e5e5;
}

.dialog-header-bg .icon-close {
    color: rgba(0, 0, 0, 0.25);
    font-size: 12px;
    float: right;
    font-weight: bold;
}

.dialog-header-bg .icon-close:hover {
    color: #333;
}

.dialog-main {
    min-width: 300px;
    padding: 10px;
    box-sizing: content-box;
}
/* end dialog */

/* start framework */
.wrapper {
    width: 90%;
    margin: 0 auto;
    display: flex;
    min-width: 720px;
    max-width: 1300px;
}

.wrapper > .module:last-child {
    margin-bottom: 0;
}

.main {
    background-color: #f2f2f2;
    padding: 40px 0;
    background-attachment: fixed;
    min-height: 280px;
}

.side {
    width: 28%;
    position: relative;
    min-width: 236px;
}

.content {
    margin-right: 20px;
    flex: 1;
    min-width: 1px;
}

.content .module:last-child {
    margin-bottom: 0;
}
/* end framework */

/* start header */
.nav {
    height: 48px;
    width: 100%;
    background-color: $blue;
    z-index: 83;
    position: relative;
    box-shadow: 0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);
    box-sizing: border-box;
    display: flex;
    line-height: 38px;
    padding: 0 10px;

    .nav-tabs {
        flex: 1;
        text-align: center;
        overflow: hidden;
    }

    .nav-tabs a svg {
        color: #eee;
        visibility: hidden;
    }

    .nav-tabs a:hover svg,
    .nav-tabs a.selected svg {
        visibility: visible;
    }

    .nav-tabs > a,
    .user-nav > a {
        display: inline-block;
        color: #fff;
        text-decoration: none;
        text-align: center;
        padding: 5px 10px;
    }

    .nav-tabs > a:hover,
    .user-nav > a:hover {
        color: #FFF;
        text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.3)
    }

    a.selected {
        border-bottom: 2px solid $red;
        padding-bottom: 3px;
    }

    h1 {
        margin-right: 20px;
    }

    h1 a svg {
        vertical-align: baseline;
    }


    input::-webkit-input-placeholder {
        color: #ddd;
    }

    input.search {
        background-color: rgba(255,255,255,.15);
        border: 0px;
        border-radius: 3px 3px 3px 3px;
        padding: 5px 8px;
        width: 180px;
        margin: 10px 10px 0 20px;
        line-height: 28px;
        height: 28px;
        color: #eee;
        box-sizing: border-box;
    }

    input.search:hover {
        background: rgba(255,255,255,0.25);
    }

    input.search:focus {
        background: #fff;
        color: #222;
    }

    .user-nav > a{
        font-size: 20px;
    }

    .user-nav > a {
        float: left;
    }

    .avatar-small {
        display: inline-block;
        margin-top: -6px;
    }

    .user-nav .no-msg,
    .user-nav .msg {
        background-color: #777;
        border-radius: 3px;
        color: #FFFFFF;
        font-size: 14px;
        padding: 0px 6px;
        margin: 14px 10px;
        line-height: 20px;
    }

    .user-nav .msg {
        -webkit-animation:spaceboots 1s infinite;
        -moz-animation:spaceboots 1s infinite;
        -o-animation:spaceboots 1s infinite;
        -ms-animation:spaceboots 1s infinite;
        animation:spaceboots 1s infinite;
        background-color: $red;
        color: #FFFFFF;
    }

    .user-nav a.selected.no-msg,
    .user-nav a.selected.msg {
        animation: none;
        background-color: $red;
        border-bottom: 0;
    }

    .user-nav a.unlogin {
        font-size: 14px;
    }

    .person-list {
        position: absolute;
        top: 48px;
        right: 10px;
        width: 154px;
        background-color: #fff;
        line-height: 21px;
        display: none;
    }

    .person-list:after {
        top: -14px;
        right: 12px;
        left: auto;
        position: absolute;
        border: 7px solid transparent;
        border-bottom-color: #fff;
        content: " ";
    }

    .person-list li {
        list-style: none;
    }

    .person-list li:first-child a {
        border-radius: 3px 3px 0 0;
    }

    .person-list li:last-child a {
        border-bottom: 0;
    }

    .person-list a {
        display: block;
        text-shadow: 0 1px 0 #fff;
        position: relative;
        padding: 8px 10px;
        border-bottom: 1px solid #eee;
        color: #666;
    }

    .person-list a:hover {
        text-decoration: none;
        background-color: #f9f9f9;
    }

    #notificationsPanel:after {
    		right: 92px;
    }
}
/* end header */

/* start footer */
.footer {
    color: #333;
    border-top: 1px solid #E0E0E0;
    box-shadow: 0 1px 1px white inset;
    line-height: 24px;
    padding: 10px 0;
    position: relative;
    z-index: 40;
    background-color: #FFF;
}

.footer > .wrapper {
    display: block;
}

.footer-nav > a {
    margin-right: 5px;
    padding-right: 10px;
    color: #595959;
}

.footer-nav > a:hover {
    color: #333;
}

.footer .slogan {
    border-bottom: 1px solid #e0e0e0;
    padding: 20px 0px 30px 0;
    margin: 0px 0 10px;
    color: #767676;
    width: 100%;
}

.footer .slogan a:hover svg {
    color: $blue;
}
/* end footer */

/* start list */
.no-list {
    line-height: 48px;
    text-align: center;
}


.list > ul > li > h2,
.list > ul > li .fn-flex > h2,
.list > ul > li .fn-flex-1 > h2  {
    font-weight: normal;
    line-height: 20px;
    margin-bottom: 2px;
    font-size: 16px;
}

.list > ul {
    list-style: none;
    padding: 15px 15px 0;
}

.list > ul > li {
    border-bottom: 1px solid #eee;
    padding: 15px;
    white-space: normal;
    word-wrap: break-word;
    position: relative;

    h2 > a {
        color: #666;
    }

    h2 > a:hover {
        color: #333;
    }
}

.list > ul > li.last,
.list > ul > li:last-child {
    border-bottom-width: 0;
}

.list > ul > li.focus {
    background-color: #f5f5f5;
}

.list.single-line li {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-wrap: normal;
    word-break: normal;
}

.has-view {
    margin-right: 40px;
}
/* end list */

/* start article */
.cmts {
    position: absolute;
    right: 15px;
    top: 40%;
}

.cm-s-default.CodeMirror {
    border-radius: 0 0 3px 3px;
    border: 1px solid #f2f2f2;
    margin-bottom: 20px;
    border-top-width: 0;
    height: 100px;
}

.CodeMirror-scroll {
    background-color: #FAFAFA;
    font-family: $font-family-base;
    line-height: 17px;
}

.cm-s-default.CodeMirror-fullscreen.CodeMirror {
    margin: 0;
}

.CodeMirror,
ul.CodeMirror-hints {
    font-family: $font-family-base;
}

.CodeMirror-hints .ico {
    margin: -1px 2px 0 -1px;
}

.CodeMirror-focused .cm-matchhighlight {
    background-image: url();
    background-position: bottom;
    background-repeat: repeat-x;
}

.CodeMirror-hint {
    padding-right: 18px;
    max-width: none;
}

.CodeMirror-hint:hover {
    background: #08f;
    color: white;
}

.CodeMirror-scrollbar-filler,
.CodeMirror-gutter-filler {
    background-color: transparent;
}

.CodeMirror-empty.CodeMirror-focused { outline: none; }
.CodeMirror pre.CodeMirror-placeholder { color: $gray; }
/* end article */

/* start side module */
.side .module:last-child {
    margin-bottom: 0;
}

.module {
    margin-bottom: 20px;
    background-color: #FFF;
    border-radius: 3px;
    width: 100%;
    word-wrap: break-word;
    box-sizing: border-box;
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
}

.module-header {
    border-radius: 3px 3px 0 0;
    background-color: #f9fafb;
    border-bottom: 1px solid #e5e5e5;
    padding: 15px;
    text-shadow: 0 1px 0 #FFFFFF;
    font-size: 14px;
    line-height: 18px;
}

.module-header h2 {
    display: inline;
    font-size: 15px;
    font-weight: normal;
}

.module-panel {
    border-radius: 0 0 5px 5px;
}

.module-panel strong {
    display: inline-block;
    margin-top: 14px;
}

.module-panel .module-list li {
    border-bottom: 1px dotted $fade;
    list-style: none outside none;
    padding: 15px;
    position: relative;
}

.module-panel .module-list li.last,
.module-panel .module-list li:last-child {
    border-bottom-width: 0;
}

.module .comment-content {
    color: $gray;
    float: left;
    margin-left: 5px;
    width: 210px;
}

.module-panel.form {
    padding: 15px;
}

.module-list .slogan {
    position: absolute;
    top: 50%;
    margin-top: -10px;
}

.module-list .title {
    color: #666;
    margin: 0px 0 0px 30px;
    display: block;
    line-height: 20px;
}

.module-list.open-source .title {
    margin-left: 60px;
}

.module-list.open-source .slogan {
    margin-top: -10px;
}

.module-panel.ad {
    padding: 15px;
    text-align: center;
}

.module-panel.ad .header {
    color: #333;
}

.module-panel.ad img {
    margin-bottom: 5px;
}
.module-panel .tags li {
    float: left;
    list-style: none;
    line-height: 14px;
    margin: 15px 15px 0 0;
}

.module-panel .tags {
    padding: 0 0 15px 15px;
}

/* end side module */

/* start side tags */
.tag-desc.fn-clear {
    margin: 15px 0 0px 15px;
}

.tag-desc > li {
    float: left;
    position: relative;
    list-style: none;
    margin: 0 15px 15px 0;
    font-size: 12px;
}

.tag-desc > li:hover > div {
    display: block;
}

.tag-desc > li > a {
    float: left;
    color: $gray;
    padding: 2px 5px;
    border: 1px solid #DDDDDD;
    position: relative;
    height: 20px;
    white-space: nowrap;
    word-wrap: normal;
    background-color: #F7F7F7;
    border-radius: 3px 3px 3px 3px;
    line-height: 21px;
}

.tag-desc > li > a:hover {
    text-decoration: none;
}

.tag-desc > li:hover > a {
    border-bottom-style: dotted;
    border-radius: 3px 3px 0 0;
    opacity: 0.7;
    z-index: 3;
}

.tag-desc > li > a > span {
    text-decoration: none;
    color: $gray;
}

.tag-desc > li > a > img {
    border-radius: 2px 2px 2px 2px;
    height: 16px;
    width: 16px;
    margin: -2px 2px 0 0;
}

.tag-desc > li > div {
    background-color: #F7F7F7;
    border: 1px solid #DDDDDD;
    border-radius: 3px 0 3px 3px;
    display: none;
    right: 0;
    margin-left: 3px;
    padding: 5px 10px;
    position: absolute;
    top: 25px;
    z-index: 2;
    opacity: 0.9;
    width: 200px;
    min-width: 150px;
}
/* end side tags */

/* start kill-browser */
#killBrowser img {
    position: absolute;
    right: 36px;
    top: 58px;
}

#killBrowser .module {
    margin-bottom: 0;
}
/* end kill-browser */

/* start emoji */
.emoji {
    width: 1.3em;
    height: 1.3em;
    display: inline-block;
    margin-bottom: .25em;
    background-size: contain;
    vertical-align: text-top;
}
/* end emoji */

/* start person info */
.small-tips .emoji {
    margin-bottom: 0;
    height: 17px;
    width: 17px;
}

.person-info {
    position: relative;

    .info {
        position: relative;
        overflow: hidden;
        height: 48px;
    }

    .info button.red {
        position: absolute;
        border-radius: 3px 0 0 0;
        min-width: 35%;
        color: #FFF;
        background-color: $red;
        background-image: none;
        border-color: #c0372a;
        letter-spacing: 1px;
        line-height: 18px;
        padding: 15px;
    }

    .info button.red:hover {
        background-color: #c0372a;
    }

    .info .fn-right {
        margin: 15px 15px 0 0;
    }

    .status {
        border-bottom: 1px dotted $fade;
        border-top-width: 0;
        margin-top: 0;
        margin-bottom: 20px;
        padding-top: 0;
    }

    .status .fn-pointer:hover span {
        color: #333;
    }

    .module-panel {
        padding: 0 15px 15px 15px;
    }

    .activity-board {
        position: absolute;
        height: 2px;
        background-color: $red;
        top: -1px;
    }

    .right {
        width: 2px;
        right: -1px;
        left: auto;
    }

    .left {
        width: 2px;
        right: 0;
        left: -1px;
    }

    .bottom {
        top: auto;
        bottom: -1px;
    }
}

.painter-point {
    background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, rgba(255, 255, 255, .9)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .9)), color-stop(.75, rgba(255, 255, 255, .9)), color-stop(.75, transparent), to(transparent));
    background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, .9) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .9) 75%, transparent 75%, transparent);
    background-image: linear-gradient(-45deg, rgba(255, 255, 255, .9) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .9) 50%, rgba(255, 255, 255, .9) 75%, transparent 75%, transparent);
    background-size: 8px 8px;
    height: 17px;
    width: 38px;
    display: inline-block;
    vertical-align: sub;
}
/* end person info */

/* start link forge */
.link-forge .module-header {
    line-height: 20px;
}

.link-forge .module-panel {
    max-height: 409px;
    overflow: hidden;
}

.link-forge .content .module-header .avatar-small {
    vertical-align: text-bottom;
}

.link-forge-upload {
    margin-bottom: 20px;
}

.link-forge-upload .error,
.link-forge-upload .succ {
    margin-top: 10px;
}

.link-forge-upload input[type=text] {
    height: 40px;
}

.link-forge-upload button {
    position: absolute;
    right: 0;
    height: 40px;
    border-radius: 0 3px 3px 0;
}
/* end link forge */

/* start responsive */
.responsive-show {
    display: none;
}
/* end responsive */

/* algolia */
.algolia-autocomplete {

    .aa-dropdown-menu {
        background-color: #FFF;
        border-radius: 3px;
        width: 100%;
        word-wrap: break-word;
        box-sizing: border-box;
        box-shadow: 0 1px 2px rgba(0,0,0,.2);
        line-height: 21px;
        margin-top:10px;
        margin-left: 20px;
        width: 300px;
        overflow:hidden;
        color: #666;
    }

    .aa-dataset-0 {
        max-height: 600px;
        overflow: auto;
    }

    .aa-dropdown-menu img {
        height: 20px;
    }

    .aa-dropdown-menu .aa-suggestion {
        cursor: pointer;
        text-shadow: 0 1px 0 #fff;
        padding: 8px 10px;
        border-bottom: 1px solid #eee;
    }

    .aa-dropdown-menu .aa-suggestion.aa-cursor {
        background-color: #f9f9f9;
    }

    .aa-dropdown-menu .aa-suggestion em {
        font-weight: bold;
        color: $red;
        font-style: normal;
    }

    .aa-dropdown-menu .fn-right {
        margin: 5px;
    }
}
/* end algolia */